/*
    智能指针，unique_ptr(独占指针)
*/

#include <iostream>
#include <memory>
#include <string>

using namespace std;

class User
{
public:
    string _name;
    int _age;
public:
    User() {}
    User(string name, int age)
    :_name(name)
    ,_age(age)
    {}
    ~User() {
        cout << ""
    }
};

int main(int argc, char const *argv[])
{
    unique_ptr<int>
    // 获得智能指针
    User *p4 = p3.release();


    // // 堆空间
    // int *ptr = new int(1);
    // unique_ptr<int> p1;

    // // 推荐使用make_unique
    // auto p2 = make_unique<int>(1);

    // unique_ptr<int> p3;
    // // 唯一指针不能拷贝赋值
    // // p3 = p2;
    // // move 左值转化为右值，然后赋值给p3
    // p3 = move(p2);
    return 0;
}
